package edu.zut.method;

import java.util.Scanner;

/**
 * 方法：功能模块
 * <p>
 * 声明： 在类内部声明，方法都是平级的
 * [权限修饰符] [static] 返回值类型 方法名(参数...){
 * 方法体;
 * return [数据];
 * }
 * 权限修饰符：public  protected  default  private
 * static: 静态   （静态方法、非静态方法）
 * 返回值类型：基本数据类型、字符串、数组、对象、集合.....  无返回值 写 void
 * 方法名： 自定义   首字母小写
 * 参数： 空参 、一个、多参   int i 只声明 不赋值
 * <p>
 * 自定义的方法：不会默认执行的，需要被调用  .
 * 方法的调用：
 * 同类中： [返回值类型 返回值 = ]方法名(实参列表);
 * 不同类中： [返回值类型 返回值 = ] 类名.方法名(实参列表);
 */
public class Demo1 {

    public static void main(String[] args) {
        //直接通过方法名调用
//        sum();
//        mul(21, 22);
        double mul = mul2(13.3, 15.5);
        System.out.println("mul = " + mul);
    }

    /**
     * 有返回值的方法
     * 计算两个数字的乘积，乘积需要返回给使用者
     */
    public static double mul2(double i, double j) {
        double mul = i * j;
        //有返回值的方法必须写return 数据;   return是在方法的最后一行
        return mul;
    }

    /**
     * 无返回值有参数的方法
     * 方法的参数可以是多个，中间用,隔开    只声明不赋值
     * 计算两个整数的乘积
     */
    public static void mul(int i, int j) {
        int mul = i * j;
        System.out.println("mul = " + mul);
//        return;
    }

    /**
     * 定义一个public修饰的静态的无返回值无参数的方法
     * 计算 两个整数之和
     */
    public static void sum() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入两个整数:");
        int i = scanner.nextInt();
        int j = scanner.nextInt();
        int sum = i + j;
        System.out.println("sum = " + sum);
        return;    //返回值为void的方法，return 可写也可不写，一般不写
    }


}
